// import koa from "koa";
// 原本是上面写法
// 但由于使用的 ts 写法，所以要导入文件如果是通过
// export = XXX 形式书写的话
// 此处就得用 import xx = require("XXX") 的语法
import Koa = require("koa");
import { useControllers } from 'koa-controllers';
import db from './models';
import * as KoaBodyParser from "koa-bodyparser";

let app = new Koa();

app.use(async (ctx: Koa.Context, next) => {
    // 把db对象等其他一些数据挂载到当前的state下
    ctx.state.db = db;
    await next();
});

app.use(KoaBodyParser({
    
}));

useControllers(app, __dirname + "/controllers/**/*.controller.js", {
    multipart: {
        dest: "./uploads"
    }
});

app.listen(8848);